package com.company.db;


import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;

import java.sql.SQLException;

public class DBProvide {

    /**
     *查询操作
     *
     * @param sql 查询操作
     * @param rsh 结果集标识
     * @param params 参数列表
     * @param <T> 返回值类型
     * @return 返回指定类型查询结果集
     */

    public <T> T query(String sql, ResultSetHandler<T> rsh, Object... params){

        //创建一个QueryRunner对象
        QueryRunner queryRunner = new QueryRunner(DBCPDataSource.getDataSource());
        //进行查询操作

       T t = null;
        try {
            t  = queryRunner.query(sql,rsh,params);
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        return  t; 
    }

    /**
     * 修改，删除，增加操作
     *
     * @param sql 数据库操作sql语句
     * @param params sql语句的参数
     * @return 返回值类型的结果集
     */
    public  int execute(String sql, Object... params){
        int i = 0;

        //创建一个QueryRunner对象
        QueryRunner queryRunner = new QueryRunner(DBCPDataSource.getDataSource());

            try {
               i = queryRunner.execute(sql, params);
            }catch (Exception e){
                e.printStackTrace();
            }
            return  i;
            
    }
    
}
